//
//  SHAppUpdateManager.m
//  JiFengDaRen
//
//  Created by SH_iOS on 2018/3/7.
//  Copyright © 2018年 陈永发. All rights reserved.
//
#import "SHAppUpdateManager.h"

@implementation SHAppUpdateManager

+ (void)appCheckUpdate{
    
    [MyDataService requestAFURL:KGetAppUpdateInfo
                     httpMethod:@"GET"
                         params:@{@"type":@"2"}
                           data:nil
                    complection:^(id result) {
                        
                        if ([result[@"success"] boolValue]) {
                            
                            NSString *updateInfo = result[@"data"][@"updateInfo"];
                            NSString * version = result[@"data"][@"version"];
                            
                            NSLog(@"%@-%@",version,KAppVersion);
                            
                            if ([self compareVersion:version to:KAppVersion] == 1) {//更新//![version isEqualToString:KAppVersion]
                                UIAlertController *alertC = [UIAlertController alertControllerWithTitle:@"领创壹号app更新" message:updateInfo preferredStyle:UIAlertControllerStyleAlert];
                                [alertC addAction:[UIAlertAction actionWithTitle:@"确定" style:0 handler:^(UIAlertAction *action) {
                                    
                                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:result[@"data"][@"updateAddress"]]];
                                }]];
                                
                                [alertC addAction:[UIAlertAction actionWithTitle:@"取消" style:1 handler:^(UIAlertAction *action) {
                                    
                                }]];
                                
                                [[SHHelper currentViewController] presentViewController:alertC animated:YES completion:nil];
                            }
                            
                        }
                    } failure:^(id erro) {
                        
                        
                    }];
}



/**
 比较两个版本号的大小
 
 @param v1 第一个版本号
 @param v2 第二个版本号
 @return 版本号相等,返回0; v1小于v2,返回-1; 否则返回1.
 */
+ (NSInteger)compareVersion:(NSString *)v1 to:(NSString *)v2 {
    // 都为空，相等，返回0
    if (!v1 && !v2) {
        return 0;
    }
    
    // v1为空，v2不为空，返回-1
    if (!v1 && v2) {
        return -1;
    }
    
    // v2为空，v1不为空，返回1
    if (v1 && !v2) {
        return 1;
    }
    
    // 获取版本号字段
    NSArray *v1Array = [v1 componentsSeparatedByString:@"."];
    NSArray *v2Array = [v2 componentsSeparatedByString:@"."];
    // 取字段最少的，进行循环比较
    NSInteger smallCount = (v1Array.count > v2Array.count) ? v2Array.count : v1Array.count;
    
    for (int i = 0; i < smallCount; i++) {
        NSInteger value1 = [[v1Array objectAtIndex:i] integerValue];
        NSInteger value2 = [[v2Array objectAtIndex:i] integerValue];
        if (value1 > value2) {
            // v1版本字段大于v2版本字段，返回1
            return 1;
        } else if (value1 < value2) {
            // v2版本字段大于v1版本字段，返回-1
            return -1;
        }
        
        // 版本相等，继续循环。
    }
    
    // 版本可比较字段相等，则字段多的版本高于字段少的版本。
    if (v1Array.count > v2Array.count) {
        return 1;
    } else if (v1Array.count < v2Array.count) {
        return -1;
    } else {
        return 0;
    }
    
    return 0;
}
@end
